Computing devices, such as notebook computers, personal digital assistants, mobile communication devices, portable entertainment devices (e.g., handheld video game devices, multimedia players) may include user interface devices that facilitate interaction between a user and the computing device. One type of user interface device that has become more common is a touch-sensitive surface. Touch-sensitive surfaces (also sometimes referred to as panels) include touch screens, touch-sensor pads, touch-sensor sliders, touch-sensor buttons, and touch-sensitive displays. Touch-sensitive surfaces typically include an array of capacitive sensor elements (also referred to as sensor electrodes) and employ capacitive sensing to operate. Capacitive sensing typically involves measuring, through sensor signals (e.g., increases or decreases in electrode responses), a change in capacitance associated with the capacitive sensor elements to determine a presence of a conductive object (e.g., a user's finger or a stylus) relative to the capacitive sensor elements. Changes in capacitance are measured across arrays of sensors when they are used for sensing and processing capacitive touch applications.
A touch on a touch-sensitive surface typically spans multiple sensors to varying degrees. A touch is also sometimes called a contact. Various methods are used to identify the “location” of the touch based on the multiple sensor readings. Some methods identify a sensor whose capacitance change is a local maximum (sometimes called a peak value). Some techniques construct a centroid for the touch, and may use a local maximum to identify a small region for analysis (e.g., a 3×3 or 5×5 grid around the local maximum). When a touch is towards the middle of the array, there are sensors all around the identified local maximum. However, at or near the edge of the array, there are not enough sensors to construct a centroid or to fill out the local region.
Known techniques of identifying the location of touches at or near the edge of a sensor array yield poor performance through poor accuracy and/or precision.